Telegram Group & Telegram Channel
Note # 17 БкомпилируСтся ΠΈΠ»ΠΈ Π½Π΅Ρ‚? Или ΠΈΠ³Ρ€Π° с ссылками.

Π•ΡΡ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, которая скорСС всСго Π½Π΅ скомпилируСтся?! :)

Program:
package main

import (
"fmt"
)

var g *int

func f(p *****int) { g = ****p }

func main() {
var i int
j := &i
k := &j
l := &k
m := &l
f(&m)
fmt.Printf("%T\n", &m)
fmt.Printf("%T", f)
}


Π˜Ρ‚Π°ΠΊ ΠΏΠ΅Ρ€Π΅Π΄ Ρ‚Π΅ΠΌ ΠΊΠ°ΠΊ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ ΠΈ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ Π½Π° play.golang.org, я Ρ€Π΅ΡˆΠΈΠ» Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΡΠ²Π΅ΠΆΠΈΡ‚ΡŒ ΠΊΠ°ΠΊ ΠΆΠ΅ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ ссылки Π² Go. Π•ΡΡ‚ΡŒ нСбольшой ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

func main() {
var i = 42
var j = &i
fmt.Println("i = ", i)
fmt.Println("j = ", j)
fmt.Println("*j = ", *j)
}


Π”ΡƒΠΌΠ°ΡŽ Ρ‚ΡƒΡ‚ всС ΠΈ Ρ‚Π°ΠΊ понятно:
// Output
i = 100
j = 0xc0000160b8
*j = 100


ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ° лишь Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠΊΠ°, я Π½Π΅ ΠΏΡ€ΠΈΠ±Π»ΠΈΠ·ΠΈΠ»ΠΈΡΡŒ ΠΊ Π½Π°ΡˆΠ΅ΠΌΡƒ ΠΏΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠΌΡƒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ Π½ΠΈ Π½Π° шаг.
И Ρ‚ΡƒΡ‚ я вспомнил, Ρ‚ΠΎ Ρ„Π°ΠΊΡ‚, Ρ‡Ρ‚ΠΎ ссылка, ΠΌΠΎΠΆΠ΅Ρ‚ ΡΡΡ‹Π»Π°Ρ‚ΡŒΡΡ Π½Π° любой Ρ‚ΠΈΠΏ, Π² Ρ‚ΠΎΠΌ числС, ΠΈ Π±Ρ‹Ρ‚ΡŒ ссылкой Π½Π° ссылку, Ρ‚.Π΅. ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ **p (dereferencing a pointer to pointer).


func main() {
var i = 42
var p = &i
var pp = &p
fmt.Println("pp = ", pp)
// Dereferencing a pointer to pointer
fmt.Println("*pp = ", *pp)
fmt.Println("**pp = ", **pp)
}
pp = 0xc0000bc010
*pp = 0xc0000c2000
**pp = 42

P.S. я Π΄ΡƒΠΌΠ°ΡŽ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π²Ρ‹ догадались, ΠΊΠ°ΠΊΠΎΠΉ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ ΠΎΡ‚Π²Π΅Ρ‚.
Goto Program



tg-me.com/golang_for_two/41
Create:
Last Update:

Note # 17 БкомпилируСтся ΠΈΠ»ΠΈ Π½Π΅Ρ‚? Или ΠΈΠ³Ρ€Π° с ссылками.

Π•ΡΡ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, которая скорСС всСго Π½Π΅ скомпилируСтся?! :)

Program:

package main

import (
"fmt"
)

var g *int

func f(p *****int) { g = ****p }

func main() {
var i int
j := &i
k := &j
l := &k
m := &l
f(&m)
fmt.Printf("%T\n", &m)
fmt.Printf("%T", f)
}


Π˜Ρ‚Π°ΠΊ ΠΏΠ΅Ρ€Π΅Π΄ Ρ‚Π΅ΠΌ ΠΊΠ°ΠΊ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ ΠΈ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ Π½Π° play.golang.org, я Ρ€Π΅ΡˆΠΈΠ» Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΡΠ²Π΅ΠΆΠΈΡ‚ΡŒ ΠΊΠ°ΠΊ ΠΆΠ΅ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ ссылки Π² Go. Π•ΡΡ‚ΡŒ нСбольшой ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

func main() {
var i = 42
var j = &i
fmt.Println("i = ", i)
fmt.Println("j = ", j)
fmt.Println("*j = ", *j)
}


Π”ΡƒΠΌΠ°ΡŽ Ρ‚ΡƒΡ‚ всС ΠΈ Ρ‚Π°ΠΊ понятно:
// Output
i = 100
j = 0xc0000160b8
*j = 100


ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ° лишь Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠΊΠ°, я Π½Π΅ ΠΏΡ€ΠΈΠ±Π»ΠΈΠ·ΠΈΠ»ΠΈΡΡŒ ΠΊ Π½Π°ΡˆΠ΅ΠΌΡƒ ΠΏΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠΌΡƒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ Π½ΠΈ Π½Π° шаг.
И Ρ‚ΡƒΡ‚ я вспомнил, Ρ‚ΠΎ Ρ„Π°ΠΊΡ‚, Ρ‡Ρ‚ΠΎ ссылка, ΠΌΠΎΠΆΠ΅Ρ‚ ΡΡΡ‹Π»Π°Ρ‚ΡŒΡΡ Π½Π° любой Ρ‚ΠΈΠΏ, Π² Ρ‚ΠΎΠΌ числС, ΠΈ Π±Ρ‹Ρ‚ΡŒ ссылкой Π½Π° ссылку, Ρ‚.Π΅. ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ **p (dereferencing a pointer to pointer).


func main() {
var i = 42
var p = &i
var pp = &p
fmt.Println("pp = ", pp)
// Dereferencing a pointer to pointer
fmt.Println("*pp = ", *pp)
fmt.Println("**pp = ", **pp)
}
pp = 0xc0000bc010
*pp = 0xc0000c2000
**pp = 42

P.S. я Π΄ΡƒΠΌΠ°ΡŽ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π²Ρ‹ догадались, ΠΊΠ°ΠΊΠΎΠΉ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ ΠΎΡ‚Π²Π΅Ρ‚.
Goto Program

BY πŸ‡ΊπŸ‡¦ Go for two :)


Warning: Undefined variable $i in /var/www/tg-me/post.php on line 283

Share with your friend now:
tg-me.com/golang_for_two/41

View MORE
Open in Telegram


πŸ‡ΊπŸ‡¦ Go Π½Π° Π΄Π²ΠΎΠΈΡ… Telegram | DID YOU KNOW?

Date: |

Importantly, that investor viewpoint is not new. It cycles in when conditions are right (and vice versa). It also brings the ineffective warnings of an overpriced market with it.Looking toward a good 2022 stock market, there is no apparent reason to expect these issues to change.

What is Telegram Possible Future Strategies?

Cryptoassets enthusiasts use this application for their trade activities, and they may make donations for this cause.If somehow Telegram do run out of money to sustain themselves they will probably introduce some features that will not hinder the rudimentary principle of Telegram but provide users with enhanced and enriched experience. This could be similar to features where characters can be customized in a game which directly do not affect the in-game strategies but add to the experience.

πŸ‡ΊπŸ‡¦ Go Π½Π° Π΄Π²ΠΎΠΈΡ… from sg


Telegram πŸ‡ΊπŸ‡¦ Go for two :)
FROM USA